Simplify ASan JS transform - #24314
Conversation
Leverages ASan's C API for arbitrary loads/stores instead of custom C code with variants for each possible type.
395b664 to
fd7826d
Compare
|
This appears to be causing a new failure on the rollers |
|
Sigh. I wish regular CI would cover all those checks (or that it would be at least possible to trigger them all manually before merging a PR). I'll look into it. |
|
Looks like some kind of bad interaction between asan and It looks like __asan_loadN is being used for the loads in |
Without this change reading of the cookie value calls into __asan_loadN which then tries to use SP, but SP is not yet initialzed, so the asan code itself trigger a STACK_OVERFLOW_CHECK error. This fixes the asan.test_stack test which was broken by emscripten-core#24314 but went unnoticed because we don't run all the asan tests in emscripten CI.
|
I found a fix: #24317 |
|
Oh nice, I only managed to narrow it down to |
|
I only verified that one test. Which other ones are failing? |
|
Yup looks like it fixes all of them. The common theme was they all used |
Without this change reading of the cookie value calls into __asan_loadN which then tries to use SP, but SP is not yet initialzed, so the asan code itself trigger a STACK_OVERFLOW_CHECK error. This fixes the asan.test_stack test which was broken by #24314 but went unnoticed because we don't run all the asan tests in emscripten CI.
Leverages ASan's C API for arbitrary loads/stores instead of custom C code with separate variants for each possible type.
Similar to #24295 and #24291.